package com.javalearn.gulimail.ware.config;

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.zaxxer.hikari.HikariDataSource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.util.StringUtils;

import javax.sql.DataSource;

@Configuration
@EnableTransactionManagement
@MapperScan("com.javalearn.gulimail.ware.dao")
public class WareMybstisConfig {
    //引入分页插件
    @Bean
    public PaginationInterceptor paginationInterceptor (){
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        //设置请求的页数大于最后页操作，true返回首页，false继续请求默认为false
        paginationInterceptor.setOverflow(true);
        //设置每页最大新值数量，默认500，-1为无限制
        paginationInterceptor.setLimit(1000);
        return paginationInterceptor;
    }

    @Autowired
    DataSourceProperties dataSourceProperties;//所以配置信息

//    @Bean
//    public DataSource dataSource(DataSourceProperties dataSourceProperties){
//        HikariDataSource dataSource = dataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build();
//        if (StringUtils.hasText(dataSourceProperties.getName())){
//            dataSource.setPoolName(dataSourceProperties.getName());
//        }
//        return new DataSourceProxy(dataSource);//用io包下的Seata数据源进行包装
//    }
}
